home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / demos / 89 / gfabasic / demo.lst < prev    next >
Encoding:
File List  |  1986-12-18  |  2.1 KB  |  129 lines

  1. Dim A$(22)
  2. ' program by MichTron 11/26/86
  3. A$(0)=" Desk "
  4. A$(1)="  About GFA BASIC  "
  5. A$(2)="-------------------"
  6. A$(3)="1"
  7. A$(4)="2"
  8. A$(5)="3"
  9. A$(6)="4"
  10. A$(7)="5"
  11. A$(8)="6"
  12. A$(9)=""
  13. A$(10)=" Options "
  14. A$(11)="  Cosine  "
  15. A$(12)="  Fill    "
  16. A$(13)="  Swiggle "
  17. A$(14)="----------"
  18. A$(15)="  Quit  "
  19. A$(16)=""
  20. A$(17)=" Rectangles "
  21. A$(18)="  MichTron  "
  22. A$(19)="  Boxes     "
  23. A$(20)=""
  24. A$(21)=""
  25. Menu A$()
  26. Menu Off
  27. On Menu  Gosub Info
  28. Do
  29.   On Menu
  30. Loop
  31. Procedure Info
  32.   Menu Off
  33.   Cls
  34.   Value=Menu(0)
  35.   If Value=1
  36.     Alert 2,"GFA BASIC DEMO|Tim Purves|MichTron",1,"  OK  ",B
  37.   Endif
  38.   If Value=11
  39.     Gosub Cosine
  40.   Endif
  41.   If Value=12
  42.     Gosub Fill
  43.   Endif
  44.   If Value=13
  45.     Gosub Lisa
  46.   Endif
  47.   If Value=15
  48.     End
  49.   Endif
  50.   If Value=18
  51.     Gosub Rect2
  52.   Endif
  53.   If Value=19
  54.     Gosub Rect1
  55.   Endif
  56.   Cls
  57.   Menu A$()
  58. Return
  59. Procedure Cosine
  60.   Q=1.2
  61.   P=0.03
  62.   Target=Timer+2000
  63.   Repeat
  64.     For F=0 To 4
  65.       Color F
  66.       I=I+P
  67.       S=Sin(I)+1
  68.       C=Cos(I*Q)+1
  69.       Line 320*S,100*C,640-320*C,100*S
  70.     Next F
  71.   Until Timer>Target
  72. Return
  73. Procedure Fill
  74.   Ellipse 320,200,320,200,-7200,0
  75.   Print "Click on Area to fill"
  76.   Target=Timer+2000
  77.   Repeat
  78.     I=(I+1) Mod 36
  79.     Deffill Random(3)+1,3+(I<24),I Mod 24+1
  80.     Repeat
  81.     Until Mousek
  82.     Fill Mousex,Mousey
  83.   Until Timer>Target
  84. Return
  85. Procedure Rect1
  86.   Graphmode 3
  87.   Target=Timer+2000
  88.   Repeat
  89.     Box I Mod 640,I Mod 200,639-I Mod 640,199-I Mod 200
  90.     Add I,8
  91.   Until Timer>Target
  92. Return
  93. Procedure Rect2
  94.   Deftext 2,16,,32
  95.   Text 200,50,"GfA BASIC Interpreter"
  96.   Deftext 3,4,,13
  97.   Text 200,80,"Distributed by MichTron"
  98.   Graphmode 3
  99.   Target=Timer+2000
  100.   Repeat
  101.     For A=3 To 99
  102.       For I=0 To 150 Step A
  103.         Pbox I,I,I+A,I+A
  104.       Next I
  105.     Next A
  106.     For A=99 Downto 3
  107.       For I=0 To 150 Step A
  108.         Pbox I,I,I+A,I+A
  109.       Next I
  110.     Next A
  111.   Until Timer>Target
  112. Return
  113. Procedure Lisa
  114.   ' Lissa
  115.   ' P und Q variieren
  116.   Q=3/4
  117.   P=0.1
  118.   Color 2
  119.   Plot 320,199
  120.   I=0
  121.   Target=Timer+2000
  122.   Repeat
  123.     I=I+P
  124.     S=Sin(I)+1
  125.     C=Cos(I*Q)+1
  126.     Draw  To 320*S,100*C
  127.   Until Timer>Target
  128. Return
  129.